package com.relytosoft.mizar.media.camera.services.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.relytosoft.dubhe.common.core.base.page.PageQuery;
import com.relytosoft.mizar.media.camera.api.entity.CameraChannel;
import com.relytosoft.mizar.media.camera.api.pojo.dto.CameraChannelDto;
import com.relytosoft.mizar.media.camera.api.pojo.vo.CameraChannelVo;

import java.util.List;


/**
 * @author lj
 */
public interface CameraChannelService extends IService<CameraChannel> {


    /**
     * 通道数据同步
     *
     * @param type 是否进行数据更新
     */
    void channelPage(Integer type);

    /**
     * 分页条件查询通道
     *
     * @param pageQuery       分页数据
     * @param cameraChannel 条件
     * @return 分页数据
     */
    IPage<CameraChannelVo> selectChannelPageList(PageQuery pageQuery, CameraChannelDto cameraChannelDto);


    /**
     * 设置通道编码
     *
     * @param cameraChannelList 通道列表
     */
    void setChannelCode(List<CameraChannel> cameraChannelList);

    /**
     * 查询通道详情
     *
     * @param id 通道ID
     * @return 通道信息
     */
    CameraChannelVo byId(Integer id);

    /**
     * 更新通道数据
     *
     * @param cameraChannelVo 通道信息
     */
    boolean updateCameraChannel(CameraChannel cameraChannel);

    /**
     * 设置设备模板信息
     *
     * @param cameraId 设备ID
     * @param template 设备模板
     * @return 加密后模板信息
     */
    String getRtspTemplate(Integer cameraId, String template);
}
